1. Field of the Invention
The present invention relates generally to signal measurement systems and, more particularly, to managing a large number of acquired pulses in a signal measurement system.
2. Related Art
Conventional signal measurement systems such as digital oscilloscopes sample, record and display time-varying analog signals. Samples of an input signal are taken and quantified, and the resultant digital representations are stored in an acquisition memory under the control of a sampling clock. The acquired signal data may be subsequently retrieved as locations in memory are read out to provide digital data that can be further processed for output to a display, where an operator may view a waveform representation of the time-varying signal. The sampling clock can be operated at one of several selectable rates depending on the frequency content of the input signal. The portion of the input signal that is acquired; that is, sampled and stored, is determined by appropriate triggering circuitry to enable the operator to capture and display the desired portion of the waveform.
Traditional digital oscilloscopes are typically implemented with acquisition memories sufficient to store perhaps as much as 16,000 to 50,000 signal samples per channel. Typically, an 8-bit analog-to-digital (AID) converter is implemented, resulting in each sample consuming 1 byte of memory, although other conventional systems implement a 16-bit A/D converter. More recent oscilloscopes are often implemented with considerably larger acquisition memories, perhaps on the order of 2-32 Mbytes. Having such deep acquisition memories enables modem digital oscilloscopes to capture long time spans of a signal in a single acquisition. When the acquisition signal consists of al series of pulses, as in common in digital computer and communication systems, this means that many pulses of information are stored in the oscilloscope""s memory. For example, digitizing a 1.44 Mb/s T1 communication signal at 100 Msamples/second in a 2 Mbyte deep system can result in as many as 30,000 pulses of information being stored. Managing the display and measurement of such a large number of pulses presents a considerable challenge to the oscilloscope operator. In many cases, the operator""s goal is to identify one or more anomalous pulses from the more numerous normal pulses. Typically, the number of anomaly is unknown, so defining a trigger condition for the anomaly is not possible. This means the operator must reply on visual inspection and manually-initiated measurements performed on one pulse at a time. Due to a limited size and resolution of the oscilloscope""s display, only a small number of pulses, may be accessed simultaneously at a horizontal scaling sufficient for accurate characterization. Analyzing all the pulses of a given acquisition this way requires the operator to manually advance through the data a few pulses at a time, a prohibitively time-consuming process. As a result, operators of conventional systems are limited to accessing only a small subset of the pulses, generally, in an ad hoc or unstructured maimer. This reduces the likelihood that the operator of a conventional deep memory oscilloscope will successfully identify anomalous pulses efficiently.
Whether or mot anomalous pulses are present in the acquired signal, the operator may wish to determine the statistics of certain measurements across a large number of pulses in the acquisition for the purpose of margins analysis. For example, the duty cycle of a clock waveform may need to be analyzed to insure that the minimum and maximum bounds are not exceeded. Some conventional systems include facilities for determining measurement statistics, however, in such implementations, the statistics are accumulated from measurements performed over multiple acquisitions and/or the results are computed such that a given measurement value is not readily traceable to the pulse it is associated with. Accumulating statistics over multiple acquisitions is disadvantageous because the acquisitions may relate to different operating conditions in the circuit or system being analyzed. Additionally, depending on how many pulses are measured from each acquisition, the time spacing between measured pulses may vary significantly, making stat istical understanding less straightforward. When statistics are computed without traceability to individual pulses, the operator is unable to view the particular pulse associated with the given measurement result. Without a view of the pulse, the operator is at a loss to determine when caused the measurement result. In sum, in currently availabe signal measurement systems, it is difficult for an operator to characterize or troubleshoot a system or circuit through analysis of the large number of pulses that may be captured in a single acquisition.
What is needed, therefore, is a system and method that enables the operator to effectively manage a large number of acquired pulses to achieve a desired analytical or evaluative objective.
The present invention is directed to a pulse management system that addresses the above or other drawbacks of conventional systems. The pulse management system is configured to perform a plurality of pulse measurements on each of a plurality of pulses of an acquired signal. The pulse management system is further configured to store results of the pulse measurements in an accessible data structure. Importantly, the pulse management system performs these operations automatically and with substantially no operator involvement.
The consolidation of such pulse measurements has not heretofore been provided by conventional systems. Traditionally, individual pulse measurements have been performed in response to specific actions taken by an operator for a specified pulse displayed on a waveform display. The results of such a single pulse measurement may or may not have been stored beyond that necessary to display the measurement results to the operator. Due to the many thousands of operator actions that would be necessary to invoke a number of traditional pulse measurements on the perhaps thousands of acquired pulses, there has been no attempt heretofore to provide any structure for storing or organizing such measurement data. The pulse management system performs such pulse measurements with minimal operator participation; that is, individual signal pulses need not be displayed and the operator is relieved of the burdensome task of individually applying specific pulse measurements to individual pulses. The present invention also provides a searchable data structure of pulse measurement results for any and if desired, all, acquired pulses, facilitating the implementation of simple and intuitive techniques for searching, sorting and otherwise manipulating the pulse measurements by the operator to gain insights into specific pulses or pulses exhibiting particular behaviors and identify trends or gradual variations of signal behavior and other subtleties that would otherwise be lost in conventional systems. In other Words, an extensive, detailed analysis of system and circuit behavior can now be performed by an operator with little or no involvement in the generation of the necessary pulse measurement data to perform such an analysis.
A number of aspects of the invention are summarized below, along with different embodiments that may be implemented for each of the summarized aspects. It should be understood that the embodiments are not necessarily inclusive or exclusive of each other and may be combined in any manner that is non-conflicting and otherwise possible. It should also be understood that these summarized aspects of the invention are exemplary only and are considered to be non-limiting.
In one aspect of the invention a pulse management system is disclosed. The pulse management system is configured to perform a plurality of pulse measurements on each of a plurality of pulses of an acquired signal. The pulse management system is further configured to store results of the pulse measurements in an accessible data structure. Importantly, the pulse management system performs these operations with substantially no operator involvement. In one application, the pulse management system is implemented in a signal measurement system such as a digital oscilloscope. In such an application, the acquired signal is acquired by the digital oscilloscope and the pulse management system is implemented in the digital oscilloscope to perform the noted pulse measurements on the acquired signal pulses.
In another aspect of the invention, a pulse database generator for use in a signal measurement system such as a digital oscilloscope is disclosed. The pulse database generator processes acquisition data of an acquired signal in accordance with measurement parameters to generate pulse characteristic data for storage in a pulse data structure. The pulse characteristic data includes results of a plurality of pulse measurements applied to a plurality of acquired signal pulses. In one embodiment, the pulse database generator includes a histogrammer and a mode finder. The histogrammer samples the acquisition data to generate one or more histograms each comprising a distribution of the number of occurrences that the acquired signal attained each of a plurality of signal levels. The mode finder identifies one or more modes of this histogram representing one or more signal levels that occur most frequently in the histogram. Each of the modes represents a signal level having a logical interpretation.
In one embodiment of this aspect of the invention, the pulse database generator also includes a transition calculator that determines a transition signal level at each of one or more transition percentages. Each transition percentage is a percentage of the difference between two of the signal levels having a logical interpretation. Preferably, this embodiment also includes a data analyzer that processes the acquisition data to determine the times at which each pulse attains each of the transition signal levels, referred to herein as transition times. The pulse database generator also includes or controls a pulse measurement engine that performs the pulse measurements on each of the pulses utilizing the transition times and a pulse type indication. Preferably, the to pulse characteristic data also includes results of statistical analyses performed on the pulse measurement results.
In another embodiment of this aspect, the pulse database generator includes a transition calculator that determines the signal level at each specified transition percentage based on one or more signal levels for each logical state of the pulse in the acquired signal including at least a top signal level and base signal level. The one or more signal levels are provided by the operator.
In one application, the signal levels that have a logical interpretation include a top signal level and a base signal level. The transition calculator determines transition signal levels achieved by each pulse at the transition percentages as the signal transitions between said top and base signal levels. In one embodiment, the transitional percentages include 10%, 50% and 90% of the difference between the top said base signal levels. In an alternative embodiment, the transition percentages can be provided by the operator through a user interface.
In a further aspect of the invention, a signal measurement system is disclosed. The signal measurement system analyzes pulses of an acquired signal represented by acquisition data stored in a memory device of the signal measurement system. The signal measurement system includes a computing device having a memory and a computer-readable medium. Stored in the computer-readable medium are instructions that, when executed by the computing device, processes the acquisition data in accordance with measurement parameters to generate pulse characteristic data for storage in a pulse data structure in the memory. The pulse characteristic data includes results of a plurality of pulse measurements applied to pulses of the acquired signal.
In one embodiment, the computer-readable medium of instructions includes means for generating a histogram of the acquired signal and means for identifying modes of the histogram. In alternative embodiments, the computer-readable medium of instructions also includes Leans for determining a transition signal level at each of one or more transition percentages, each transition percentage being a percentage of a difference between two signal levels having a logical Interpretation. In a further embodiment, the computer-readable medium of instructions also include means for determining transition times at which each pulse attains each transition signal level. Finally, in certain embodiments, the computer-readable medium of instructions includes means for performing pulse measurements on each of the pulses utilizing the transition times and pulse type indication.
In a further aspect of the invention, a data structure for storage in a memory apparatus operationally coupled to a signal measurement system is disclosed. The data structure includes a plurality of signal pulse characteristics of a plurality of pulses of an acquired signal stored in an acquisition memory of the signal measurement system. The signal pulse characteristics include a pulse identifier uniquely identifying each pulse of the acquired signal, and a plurality of pulse measurement results associated with each pulse identifier. Preferably, the pulse identifier is a value indicating a relative order of occurrence of the associated pulse relative to other pulses of the acquired signal. The plurality of pulse measurement results associated with each of the pulse identifiers in the data structure include one or more of the following: rise time measurement results, fall time measurement results, pulse width measurement results, peak-to-peak voltage measurement results, minimum voltage measurement results, maximum voltage measurement results, pulse area measurement results, delta time measurement results, and overshoot measurement results, among others.
In one embodiment of this aspect of the invention, the signal pulse characteristics may also include a time of occurrence associated with each pulse identifier in the data structure. The time of occurrence indicates a time the associated pulse occurred relative to a time at which a trigger event causing acquisition of the acquired signal occurred. In other embodiments, the data structure also stores global measurement statistics for one or more of the pulse measurements. The global statistics are associated with the acquired signal in the data structure. Preferably, the pulse characteristics also include a pulse type that is associated with each of the pulse identifiers. The pulse type may indicate, for example, whether the corresponding signal pulse is a positive or negative pulse.
In certain applications, the acquired signal is one of a plurality of acquired signals, the acquisition data for each of which is stored in an acquisition memory. In such applications, alternative embodiments of the data structure may include the pulse characteristics and global measurement statistics for more than one acquired signal. Each of the pulse characteristics and global measurement statistics are preferably associated with the unique acquisition identifier that resulted in the capture of the acquired signal.
In a further aspect of the invention, the pulse characteristics and pulse identifiers are stored in the pulse data structure automatically and with no operator involvement. Alternatively, the data structure is populated in accordance with measurement parameters. In other embodiments, the measurement parameters are provided at least in part by the operator through a user interface operatively coupled to the signal measurement system. In still other embodiments, the data structure is generated and populated with the pulse characteristics in response to the acquisition memory storing the acquired signal.
In another aspect of the invention, a method for generating a pulse data structure for storage in a memory apparatus operationally coupled to a signal measurement system is disclosed. The data structure includes a plurality of signal pulse characteristics of a subset of pulses of an acquired signal stored as acquisition data in an acquisition memory of the signal measurement system. The method includes the steps of: 1) performing a plurality of pulse measurements on each of the subset of acquired signal pulses. This step utilizes the transition times, acquisition signal data and a pulse train type to perform the measurements. In addition, the method includes the step of storing results of the pulse measurements in the pulse data structure such that the measurement results are associated with a unique identifier of each measured pulse of the acquired signal.
In one embodiment, the method includes the steps of: 3) receiving, before step 1), an indication of the type of pulse train embodied in the acquisition signal; 4) determining, before step 1), transition signal levels at one or more transition percentages between a top signal level and a base signal level; and 5) determining, before step 1), transition times, each pulse of the acquired signal attains each of the transition signal levels.
In another embodiment, step 4) includes the steps of: a) receiving one or more transition percentages; b) generating a histogram of the acquisition data; c) determining top, base and other voltage levels based on modes of the histogram and the pulse train type; and d) calculating transition voltages at each of the transition percentages relative to the top and base voltages for the pulse train type. Alternatively, step 4) can include the steps of: a) receiving one or more transition percentages; b) receiving top and base voltages; Land c) calculating transition voltages at each of the transition percentages relative to the top and base voltages for the pulse train type. In a still further embodiment, step 4) includes the step of: a) receiving the transition signal levels at the one or more transition percentages between the top signal level and the base signal level.
In another aspect of the invention, a method for generating a pulse data structure for storage in a memory apparatus operationally coupled to a signal measurement system is disclosed. The data structure includes a plurality of signal pulse characteristics of all or a subset of pulses of an acquired signal stored as acquisition data in an acquisition memory of the signal measurement system. The method includes the steps of: 1) performing a plurality of pulse measurements on each of a plurality of pulses of the acquired signal. This step utilizes the transition times, acquisition signal data and a pulse train type to perform the measurements. In addition, the method includes the step of storing results of the pulse measurements in the pulse data structure such that the measurement results are associated with a unique identifier of each measured pulse of the acquired signal.
In one embodiment, the method includes the steps of: 3) receiving, before step 1), an indication of the type of pulse train embodied in the acquisition signal; 4) determining, before step 1), transition signal levels at one or more transition percentages between a top and base signal level; and 5) determining, before step 1), transition times each pulse of the acquired signal attains each of the transition signal levels.
In another embodiment, step 4) includes the steps of: a) receiving one or more transition percentages; b) generating a histogram of the acquisition data; c) determining top, base and other voltage levels based on modes of the histogram and the pulse train type; and d) calculating transition voltages at each of the transition percentages relative to the top and base voltages for the pulse train type. Alternatively, step 4) can include the steps of: a) receiving one or more transition percentages; b) receiving top and base voltages; and c) calculating transition voltages at each of the transition percentages relative to the top and base voltages for the pulse train type. In a still further embodiment, step 4) includes the step of: a) receiving the transition signal levels at the one or more transition percentages between the top signal level and the base signal level.
Various embodiments of the present invention provide certain advantages and overcome certain drawbacks of the above and other conventional techniques. Not all embodiments of the present invention share the same advantages and those that do may not share them under the same or similar circumstances. Further features and advantages of the present invention as well as the structure and operation of various embodiments of the present invention are described in detail below with reference to the accompanying drawings. In the drawings, like reference numerals indicate like or functionally similar elements. Additionally, the left-most one or two digits of a reference numeral identifies the drawing in which the reference numeral first appears.